Evolving feature model configurations in software product lines

نویسندگان

  • Jules White
  • José A. Galindo
  • Tripti Saxena
  • Brian Dougherty
  • David Benavides
  • Douglas C. Schmidt
چکیده

The increasing complexity and cost of software-intensive systems has led developers to seek ways of reusing software components across development projects. One approach to increasing software reusability is to develop a Software Product-line (SPL), which is a software architecture that can be reconfigured and reused across projects. Rather than developing software from scratch for a new project, a new configuration of the SPL is produced. It is hard, however, to find a configuration of an SPL that meets an arbitrary requirement set and does not violate any configuration constraints in the SPL. Existing research has focused on techniques that produce a configuration of an SPL in a single step. Budgetary constraints or other restrictions, however, may require multi-step configuration processes. For example, an aircraft manufacturer may want to produce a series of configurations of a plane over a span of years without exceeding a yearly budget to add features. This paper provides three contributions to the study of multi-step configuration for SPLs. First, we present a formal model of multi-step SPL configuration and map this model to constraint satisfaction problems (CSPs). Second, we show how solutions to these SPL configuration problems can be automatically derived with a constraint solver by mapping them to CSPs. Moreover, we show how feature model changes can be mapped to our approach in a multi-step scenario by using feature model drift. Third, we present empirical results demonstrating that our CSP-based reasoning technique can scale to SPL models with hundreds of features and multiple configuration steps. ∗Corresponding author Email addresses: [email protected] (J. White), [email protected] (José A. Galindo), [email protected] (T. Saxena), [email protected] (B. Dougherty), [email protected] (D. Benavides), [email protected] (D.C. Schmidt) Preprint submitted to Journal of Systems and Software September 16, 2013 Evolving Feature Model Configurations in Software Product Lines J. Whited,∗, José A. Galindoe, T. Saxenaf, B. Doughertyd, D. Benavidese, D.C. Schmidtf dVanderbilt University, Nashville, Tenessee, USA eUniversity of Seville, Seville, Spain fVanderbilt University, Nashville, Tenessee, USA

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Evaluating Feature Change Impact on Multi-product Line Configurations Using Partial Information

Evolving large-scale, complex and highly variable systems is known to be a difficult task, where a single change can ripple through various parts of the system with potentially undesirable effects. In the case of product lines, and moreover multi-product lines, a change may affect only certain variants or certain combinations of features, making the evaluation of change effects more difficult. ...

متن کامل

Automated diagnosis of feature model configurations

Software product-lines (SPLs) are software platforms that can be readily reconfigured for different project requirements. A key part of an SPL is a model that captures the rules for reconfiguring the software. SPLs commonly use feature models to capture SPL configuration rules. Each SPL configuration is represented as a selection of features from the feature model. Invalid SPL configurations ca...

متن کامل

A Toolset for Checking SPL Refinements

Developers evolve software product lines (SPLs) manually or using typical program refactoring tools. However, when evolving an SPL to introduce new features or to improve its design, it is important to make sure that the behavior of existing products is not affected. Typical program refactorings cannot guarantee that because the SPL context goes beyond code and other kinds of core assets, and i...

متن کامل

FAMILE: Tool support for evolving model-driven product lines

Model-driven development is a well-known practice in modern software engineering. Many tools exist which allow developers to build software in a model-driven way. Unfortunately, these tools do not provide dedicated support for the specific needs in software product line processes. Only recently some approaches tried to combine feature modeling and model-driven development. In this paper we pres...

متن کامل

Modeling Dependent Software Product Lines

Techniques to model software product lines (SPLs), using feature models, usually focus on a single SPL. Larger SPLs can also be built from smaller SPLs which results in a dependency between the involved SPLs, i.e., one SPL uses functionality provided by another SPL. Currently, this can be described using constraints between the involved feature models. However, if multiple differently configure...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Journal of Systems and Software

دوره 87  شماره 

صفحات  -

تاریخ انتشار 2014